/**
 * Copyright (c) 2014-2017, huli.com
 * All rights reserved.
 */
package com.xiaohujr.xuexue.vm.exceptions;

/**
 * 虚拟机栈溢出.
 * <p>
 * 栈内存溢出
 * <p>
 * java程序启动一个新线程时，没有足够的空间为该线程分配java栈，
 * 一个线程java栈的大小由-Xss设置决定；JVM则抛出OutOfMemoryError异常。
 *
 * @author Xue Xue (xuexue1@huli.com)
 * @version $Id$
 * @since 2018/5/2
 */
public class JavaVMStackOOM {
    private void dontStop() {
//        while (true) {
//
//        }
    }

    public void stackLeakByThread() {
//        while (true) {
//            new Thread(new Runnable() {
//                @Override
//                public void run() {
//                    dontStop();
//                }
//            }).start();
//        }
    }

    /**
     * VM Args: -Xss2M.
     *
     * @param args
     */
    public static void main(String[] args) {
        JavaVMStackOOM javaVMStackOOM = new JavaVMStackOOM();
        javaVMStackOOM.stackLeakByThread();
    }
}
